package com.ssvendas.fachadas;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.ssvendas.fachadas.remote.DAOBasicoRemote;
import com.ssvendas.modelo.Cliente;
import com.ssvendas.modelo.Filial;
import com.ssvendas.modelo.Fornecedor;
import com.ssvendas.modelo.Produto;
import com.ssvendas.modelo.Usuario;
import com.ssvendas.modelo.Venda;
import com.ssvendas.modelo.fluxocaixa.Entrada;
import com.ssvendas.modelo.fluxocaixa.Saida;

@Stateless
public class DAOBasico implements DAOBasicoRemote{

	@PersistenceContext(unitName="jeevendas")
	EntityManager em;
	
	@Override
	public void persistirProduto(Produto prod) {
		em.persist(prod);
		
	}

	@Override
	public void deletarProduto(Produto prod) {
		em.remove(prod);
		
	}

	@Override
	public void persistirFornecedor(Fornecedor fornecedor) {
		em.persist(fornecedor);
		
	}

	@Override
	public void persistirUsuario(Usuario usuario) {
		em.persist(usuario);
		
	}

	@Override
	public void deletarUsuario(Usuario usuario) {
		em.remove(usuario);
		
	}

	@Override
	public void persistirVenda(Venda v) {
		em.persist(v); //gerar pdf e cupom e salvar no banco antes
	}

	@Override
	public void deletarVenda(Venda v) {
		em.remove(v);
	}

	@Override
	public void persistirCliente(Cliente c) {
		em.persist(c);
	}


	@Override
	public void persistirFilial(Filial f) {
		em.persist(f);
	}

	@Override
	public void deletarFilial(Filial f) {
		em.remove(f);
	}

	@Override
	public void persistirEntrada(Entrada e) {
		em.remove(e);
	}

	@Override
	public void deletarEntrada(Entrada e) {
		em.remove(e);
	}

	@Override
	public void persistirSaida(Saida s) {
		em.persist(s);
	}

	@Override
	public void deletarSaida(Saida s) {
		em.remove(s);
	}
}
